﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestConsole.Practice4
{
    // 실습 목표
    // 반복문 개념 이해하기
    // while 문 사용하기
    // 종료값 이용 반복 이해하기

    // 문제 
    // 프로그래밍 과목의 담당조교가 학생들의 시험 점수들의 평균을 구하고자 한다. 교수님이
    // 학생들의 시험 점수들을 주면 그 점수들을 입력하여 평균을 구하여야 한다. 점수들의
    // 입력이 끝났음을 나타내기 위하여 -1을 입력하라. while 문을 사용하라.
    public class Practice4_1
    {
        // 모범 출력
        // 점수(더 이상 점수가 없다면 -1)를 입력하세요: 82
        // 점수(더 이상 점수가 없다면 -1)를 입력하세요: 75
        // 점수(더 이상 점수가 없다면 -1)를 입력하세요: 68
        // 점수(더 이상 점수가 없다면 -1)를 입력하세요: 96
        // 점수(더 이상 점수가 없다면 -1)를 입력하세요: -1
        //
        // 입력된 점수들의 수: 4
        // 점수들의 평균:   80.25
        
        // 주의 : 위에서 첫 다섯 줄의 수들은 사용자의 입력이다.
        public static void ComputeAverage()
        {
            // 사용자로부터 입력된 점수, 점수들의 수, 합계와 평균을 저장하는 변수들을 
            // 선언한다. 필요하다면 변수들을 초기화한다.
            int score;
            int sum = 0;
            //  여기에 코드를 삽입
			float count = 0;
			float average;

            // 사용자로부터 첫번째 점수를 입력하라고 요청한다. 그리고 입력된 값을 읽는다.
            Console.Write("점수(더 이상 점수가 없다면 -1)를 입력하세요: ");
            int.TryParse(Console.ReadLine(), out score);

            // 사용자가 점수를 입력하는 동안 누계를 계산한다.
            // 입력된 값이 -1이면 반복문을 나간다.
            while (score != -1)
            {
                sum += score;
                // 여기에 코드를 입력
				count++;	

                // 사용자로부터 다음 점수를 입력하라고 요청한다. 그리고 입력된 값을 읽는다.
                // 여기에 코드를 입력
            	Console.Write("점수(더 이상 점수가 없다면 -1)를 입력하세요: ");
            	int.TryParse(Console.ReadLine(), out score);
            }

            // 평균을 계산한다.
            // 여기에 코드를 입력
			average = sum / count;
        	Console.WriteLine("입력된 점수들의 수:\t{0}", count);
        	Console.WriteLine("점수들의 평균:\t{0}", average);
        }
        // 힌트 
        // 1. 사용자로부터 한 점수를 입력하라는 메시지를 화면에 출력한다.
        // 2. 사용자가 입력한 정수를 int.TryParse 메소드를 이용하여 대응하는 변수에 저장한다.
        // 3. 한 점수를 읽고 더한 후 다음 점수를 입력하라는 메시지를 출력한다. -1이 아닌 값이
        //    입력되면 같은 일을 반복한다. -1이 입력되면 반복문 밖으로 나간다.
        // 4. 점수들의 평균을 계산하여 해당 변수에 저장하고 출력한다.
        // 5. 프로그램의 결과가 맞는지를 확인하기 위해 여러 개의 다른 입력 값들을 사용하여 
        //    프로그램을 철저하게 시험하라.
    }
}
